package com.share.device.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.share.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 地点表 例如 四川省 成都市 成华区 等 parentCode表示该地区的上级
 * 例如 成都市 绵阳市的上层都是四川省 parentCode=四川省 而parentCode=0则表示最高层
 */
@Data
@Schema(description = "地区信息")
public class Region extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 地区编码 */
    @Schema(description = "地区编码")
    private String code;

    /** 上级地区code */
    @Schema(description = "上级地区code")
    private String parentCode;

    /** 地区名称 */
    @Schema(description = "地区名称")
    private String name;

    /** 地区级别 */
    @Schema(description = "地区级别")
    private Long level;

    /** 是否有子节点,冗余字段，便于前端判断，如果当前地区有下一级地区为true，否则为false，例如四川则为true，成华区则为false */
    @TableField(exist = false)
    private Boolean hasChildren;
}